Numerous businesses provide recorded announcements to their customers via communication networks in support of services. For example, banking services use thousands of recorded announcements to inform customers of account status, lending opportunities, payment options, credit rates and other service options. At any point in time, a business may need to provide different permutations of announcement messages to thousands of callers and, depending on the reaction of each caller, execute real-time playback features such as aborting an announcement message if the caller disconnects the call or changing the message being played in response to a caller selecting an option from a user device.
In a Voice over Internet Protocol (VOIP) system, various codec can be used to encode pre-recorded announcement messages to facilitate their storage and transmission over an IP network. Known codec includes the adaptive multi-rate (AMR) format, uncompressed digital formats, such as the G.711 codec, compressed digital formats such as the G.72X codec which includes the adaptive multi-rate wideband (AMR-WB) format codified as G.722.2. In particular, the AMR codec enables mobile communication systems to use available bandwidth effectively. For example, in a Global System for Mobile (GSM) communications network, speech encoding rate can be dynamically adjusted using the AMR codec to adapt to varying transmission conditions. A sender typically encodes announcement messages at a specific AMR rate, such as at a negotiated rate established during call setup. To trigger mode adaptation, a receiver sends a code mode request (CMR) to the sender signaling the new mode it prefers to receive future message packets. The new mode can be selected by the receiver based on quality measurements of the channel between the receiver and the sender. More specifically, the requested AMR rate can represent the best codec mode in view of the channel conditions at the time. For example, when a channel is lightly loaded, the receiver can request that all voice traffic be given the highest AMR codec rate. When the loading increases due to increased call volume, to ensure new users do not get blocked, the receiver can request the sender to change the AMR rate to a lower rate, thus allowing a larger number of voice calls to be supported, albeit with lower voice quality. Hence, the AMR codec provides an optimized tradeoff between speech compression (i.e., the number bits used to convey speech) and the perceived quality of the speech delivered over a mobile network.
Upon receiving a CMR from a receiver, a sender typically uses a transcoder, such as in the form of a digital signal processor (DSP), to convert in real time an announcement message that is encoded in one rate to another rate requested by the receiver. However, real-time transcoding is expensive because, due to the high computational cost associated with performing transcoding, numerous transcoders are needed to support the number of receivers that typically exist in a service network.